<?php
require_once($_SERVER['DOCUMENT_ROOT']."/cms/classes/export.php");
require_once($_SERVER['DOCUMENT_ROOT']."/cms/classes/form_validator.php");
$smarty = new Smarty;
$smarty->template_dir=$_SERVER['DOCUMENT_ROOT']."/_templates";
$smarty->compile_dir=$_SERVER['DOCUMENT_ROOT']."/_cache";
if (!isset($_GET['step']))
{
	$result=$smarty->fetch ($_SERVER['DOCUMENT_ROOT']."/install/templates/welcome.html");
}
elseif ($_GET['step']=='sql')
{
/*	$form = new Form
	(
	array(
	"sql_host"=>"isnot_empty",
	"sql_db_user"=>"isnot_empty",
	"sql_db_name"=>"isnot_empty",
	"sql_table_prefix"=>"isnot_empty",
	"project_name"=>"isnot_empty"
	),$_POST

	);
*/

	if ($_POST)
	{
		$con = mysql_connect($_POST['sql_host'],$_POST['sql_db_user'],$_POST['sql_db_pass']);
		if ($con)
		{
			if (mysql_select_db($_POST['sql_db_name'],$con))
			{
				mysql_query("SET CHARACTER SET `utf8`");
				$configStr="<?php
define(\"DB_SERVER\",\"{$_POST['sql_host']}\");
define(\"DB_USER\",\"{$_POST['sql_db_user']}\");
define(\"DB_PASSWORD\",\"{$_POST['sql_db_pass']}\");
define(\"DB_DATABASE\",\"{$_POST['sql_db_name']}\");
define(\"DB_PERSISTENT\", 1);
define (\"ARX_DB_TABLE_PREFIX\",\"{$_POST['sql_table_prefix']}\");
?>";
				//if ($file = fopen($_SERVER['DOCUMENT_ROOT']."/cms/config/dbAccess.inc.php",'w'))
				//{
					//fwrite($file,$configStr);
				//}
				//else $fatalErrors='Невозможно прочитать файл конфигурации! Установите права на запись в файл /cms/congig/dbAccess.inc.php';

				$sql = file_get_contents($_SERVER['DOCUMENT_ROOT']."/install/sql/dump.sql");
				$regExpr=array("/CREATE TABLE `(.*?)`/","/INSERT INTO `(.*?)`/");
				$replace=array("CREATE TABLE {$_POST['sql_table_prefix']}\\1","INSERT INTO {$_POST['sql_table_prefix']}\\1");
				$sql=preg_replace($regExpr,$replace,$sql);
				if (trim($sql))
				{

					$sql=explode(";\n",$sql);
					foreach ($sql as $k=>$v)
					{
						//временная пиздятина. из-за того, что ебучий майадмин хранит инфу о таблицах вместе с префиксом
						if (substr_count($v,'fieldAlias') || substr_count($v,'tableAlias')) 
						{
						$v = str_replace('cnt_',$_POST['sql_table_prefix'].'cnt_',$v);
						}
					
						mysql_query(trim($v),$con);
						
					}
					

				}
				else
				{
					//$fatalErrors='Неправильный дамм БД!';
				}

			}

			else
			{
				$fatalErrors='Такой БД не существует! Проверьте имя базы данных!';
			}
		}
		else
		{
			$fatalErrors='Не удаётся подключиться к БД!';
		}
		if (!trim($fatalErrors))
		{
			echo "<script>document.location='/install/?step=finish'</script>";
		}
	}
	else
	{
		$smarty->assign('errors',$form->errors);
	}

	$smarty->assign("fatal",$fatalErrors);
	$result=$smarty->fetch ($_SERVER['DOCUMENT_ROOT']."/install/templates/sql.html");

}

elseif ($_GET['step']=='finish')
{
	$result=$smarty->fetch ($_SERVER['DOCUMENT_ROOT']."/install/templates/finish.html");
}


echo "$result";

?>